From 938cc404c1a24cc1e7fe411836eb887f5270d72f Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Tue, 12 Mar 2002 05:36:12 +0000 Subject: [PATCH] new FAQ. Tue Mar 12 00:29:31 2002 Jonathan Blandford * gtk/question_index.sgml: new FAQ. * gtk/tmpl/gtktreemodel.sgml: clean up example --- docs/reference/ChangeLog | 6 +++ docs/reference/gtk/question_index.sgml | 15 +++++++ docs/reference/gtk/tmpl/gtktreemodel.sgml | 50 ++++++++++------------- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index d0117afe7f..45e2739508 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,9 @@ +Tue Mar 12 00:29:31 2002 Jonathan Blandford + + * gtk/question_index.sgml: new FAQ. + + * gtk/tmpl/gtktreemodel.sgml: clean up example + 2002-03-12 Matthias Clasen * gdk/tmpl/windows.sgml: Document GdkScreen. diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 871e8e179c..599e38aca0 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -483,6 +483,21 @@ See the tree widget overview. + + +What's the #GtkTreeView equivalent of gtk_clist_find_row_from_data()? + + + + +As there is no separate data column in the #GtkTreeModel, there's no +built in function to find the iter from data. You can write a custom +searching function to walk the tree and find the data, or use +gtk_tree_model_foreach(). + + + + How do I put an image and some text in the same column? diff --git a/docs/reference/gtk/tmpl/gtktreemodel.sgml b/docs/reference/gtk/tmpl/gtktreemodel.sgml index bd3072d38c..9c60f905f5 100644 --- a/docs/reference/gtk/tmpl/gtktreemodel.sgml +++ b/docs/reference/gtk/tmpl/gtktreemodel.sgml @@ -150,6 +150,8 @@ enum { GtkTreeModel *list_store; GtkTreeIter iter; + gboolean valid; + gint row_count = 0; /* make a new list_store */ list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_INT); @@ -158,36 +160,28 @@ enum populate_model (list_store); /* Get the first iter in the list */ - if (gtk_tree_model_get_iter_first (model, &iter)) - { - gint row_count = 0; + valid = gtk_tree_model_get_iter_first (model, &iter); - /* Walk through the list, reading each row */ - do - { - gchar *str_data; - gint int_data; - - /* Make sure you terminate calls to gtk_tree_model_get() - * with a '-1' value - */ - gtk_tree_model_get (list_store, &iter, - STRING_COLUMN, &str_data, - INT_COLUMN, &int_data, - -1); - - /* Do something with the data */ - g_print ("Row &percent;d: (&percent;s,&percent;d)\n", row_count, str_data, int_data); - g_free (str_data); - - row_count ++; - } - while (gtk_tree_model_iter_next (model, &iter)); - } - else + while (valid) { - /* As gtk_tree_model_get_iter_first() returned FALSE, the list is empty */ - g_print ("Model is empty.\n"); + /* Walk through the list, reading each row */ + gchar *str_data; + gint int_data; + + /* Make sure you terminate calls to gtk_tree_model_get() + * with a '-1' value + */ + gtk_tree_model_get (list_store, &iter, + STRING_COLUMN, &str_data, + INT_COLUMN, &int_data, + -1); + + /* Do something with the data */ + g_print ("Row &percent;d: (&percent;s,&percent;d)\n", row_count, str_data, int_data); + g_free (str_data); + + row_count ++; + valid = gtk_tree_model_iter_next (model, &iter)) } } -- 2.30.2